Networking architectures and the field of video conferencing have grown increasingly complex in communications environments. In addition, the augmentation of clients or end users wishing to communicate in such environments has caused many networking configurations and systems to respond by adding elements to accommodate the increase in networking traffic. Communication tunnels or links may be used in order to establish a communication flow, whereby an end user or an object may initiate a video or an audio session to facilitate a particular call or conference. Selected locations within the communication architecture may be accessed or designated to conduct the communication session. The selected location or network point may then provide a platform that the end user may use to execute a communication session.
The traditional approach to video conferencing is to use a centralized multipoint control unit (MCU). This sets up media streams from the end points to a conference server where the streams may be mixed and then sent back to the end points as individual streams. The mixing may include composition (for example), creating a two-by-two composition of four video streams. Each of these sub-streams can be locked to a particular user or voice-switched where appropriate. Other possible compositions can be one-by-one, one-by-two, three-by-three, etc.
It is critical that timing and synchronization be precise in such video-conferencing scenarios. Additionally, bandwidth considerations should be recognized and appreciated in attempting to accommodate optimal video conferences. Moreover, minimizing central processing unit (CPU) loads and response times to I-frame requests is critical for such an architecture. Accordingly, the ability to provide an effective mechanism to properly direct communications for an end user/end point, or to offer an appropriate protocol that optimizes bandwidth characteristics provides a significant challenge to network operators, component manufacturers, and system designers.